Telegram Group & Telegram Channel
🛠 Массовая конвертация изображений с использованием Go и параллелизма


🔍 Проблема

• При запуске маркетплейса векторных изображений [Vectopus.com](https://vectopus.com) разработчики забыли реализовать поддержку формата WebP
• Это ухудшало SEO и замедляло загрузку страниц
• Нужно было конвертировать 500 000+ SVG-файлов в WebP _ретроспективно_

⚙️ Решение: CLI-инструмент на Go

Создан инструмент на Go, обрабатывающий SVG-файлы в несколько этапов:

1. Загрузка SVG из Amazon S3
2. Конвертация в PNG
3. Добавление водяного знака (опционально)
4. Конвертация PNG в WebP
5. Загрузка WebP обратно в S3
6. Обновление метаданных в PostgreSQL
7. Удаление временных файлов

Задача, рассчитанная на несколько дней, была выполнена за несколько часов.

🗃 Архитектура хранилища

• Все изображения — в Amazon S3 (SVG — приватный бакет, PNG — публичный)
• Метаданные — в PostgreSQL с полиморфными связями
• Новые загрузки обрабатываются через SQS + Lambda + EventBridge

Выводы

• Использование Go дало высокую производительность при низких издержках
• Масштабируемость и надёжность решения
• Параллелизм Go отлично подходит для batch-обработки медиа

📖 Подробнее



tg-me.com/golang_books/973
Create:
Last Update:

🛠 Массовая конвертация изображений с использованием Go и параллелизма


🔍 Проблема

• При запуске маркетплейса векторных изображений [Vectopus.com](https://vectopus.com) разработчики забыли реализовать поддержку формата WebP
• Это ухудшало SEO и замедляло загрузку страниц
• Нужно было конвертировать 500 000+ SVG-файлов в WebP _ретроспективно_

⚙️ Решение: CLI-инструмент на Go

Создан инструмент на Go, обрабатывающий SVG-файлы в несколько этапов:

1. Загрузка SVG из Amazon S3
2. Конвертация в PNG
3. Добавление водяного знака (опционально)
4. Конвертация PNG в WebP
5. Загрузка WebP обратно в S3
6. Обновление метаданных в PostgreSQL
7. Удаление временных файлов

Задача, рассчитанная на несколько дней, была выполнена за несколько часов.

🗃 Архитектура хранилища

• Все изображения — в Amazon S3 (SVG — приватный бакет, PNG — публичный)
• Метаданные — в PostgreSQL с полиморфными связями
• Новые загрузки обрабатываются через SQS + Lambda + EventBridge

Выводы

• Использование Go дало высокую производительность при низких издержках
• Масштабируемость и надёжность решения
• Параллелизм Go отлично подходит для batch-обработки медиа

📖 Подробнее

BY Golang Books




Share with your friend now:
tg-me.com/golang_books/973

View MORE
Open in Telegram


Golang Books Telegram | DID YOU KNOW?

Date: |

The Singapore stock market has alternated between positive and negative finishes through the last five trading days since the end of the two-day winning streak in which it had added more than a dozen points or 0.4 percent. The Straits Times Index now sits just above the 3,060-point plateau and it's likely to see a narrow trading range on Monday.

Golang Books from es


Telegram Golang Books
FROM USA